\documentclass{article}
\usepackage{graphicx}

\title{Linear programmation project}

\begin{document}

\maketitle

\section{The optimization problem modelization}

We thereafter present the modelization of the given integer linear optimization problem.

\begin{itemize}

  \item \emph{Variables}, denoted $x_i$, represents the selection ($x_i = 1$) or absence of selection ($x_i = 0$) of the $i^{th}$ warehouse.

  \item Equation \ref{objective_function} represents the \emph{objective function} to maximize, in which the factors $c_i$ represents the capacity of the $i^{th}$ warehouse.

  \item The number of selected warehouses in the solution is enforced by \emph{constraint} \ref{number_of_warehouses_constraint}.

  \item We impose relative closeness of the selected warehouses with the \emph{constraints} induced by equation \ref{distance_constraints}.

\end{itemize}

\begin{equation}
z = \sum_{i = 1}^{n} x_i \times c_i
\label{objective_function}
\end{equation}

\begin{equation}
\sum_{i = 1}^{i = n} x_i = m
\label{number_of_warehouses_constraint}
\end{equation}

\begin{equation}
\forall i \forall j \mid d(x_i, x_j) > 50 : x_i + x_j < 2
\label{distance_constraints}
\end{equation}

\section{Object modelization of our glpk framework}
The figure \ref{fig:UML} shows the UML diagram of our framework.

The user should start by creating
an object of the class \emph{problem}. This class is the main interface with glpk.
Then, one can create the variables of the problem, which should be added to the instance of the
problem. Thereafter, the user can implement the objective function and the constraints using these
variables.

Once all the problem has been implemented, the user just have to call the method run and to display the results.

\begin{figure}
  \caption{\label{fig:UML}UML of our framework}
  \centering
  \includegraphics[scale=0.8]{UML.pdf}
\end{figure}


\end{document}
